作者:手机用户2502936263 | 来源:互联网 | 2023-05-18 07:38
第一方面:大数据离线分析一般处理T+1数据,这里的T可以代表一天,一周、一个月以及一年等。这里我用的Hadoop的版本是Hadoop2.X,它有四个模块(common、HDFS、Map
第一方面:大数据离线分析
一般处理T+1数据,这里的T可以代表一天,一周、一个月以及一年等。这里我用的Hadoop的版本是Hadoop 2.X,它有四个模块(common、HDFS、MapReduce、YARN)。
下面是Hadoop的四个模块的详细介绍
模块 |
介绍 |
Hadoop common |
支持其他模块的工具模块 |
Hadoop Distributed File System (HDFS) |
分布式文件系统,提供了对应用程序数据的高吞吐量访问。 |
进程: NameNode 名称节点 NN DataNode 数据节点 DN SecondaryNamenode 辅助名称节点 2ndNN |
Hadoop YARN |
作业调度与集群资源管理的框架。 进程 ResourceManager 资源管理—RM NodeManager 节点管理器—NM |
Hadoop MapReduce |
基于yarn系统的对大数据集进行并行处理技术 |
Hive:大数据数据仓库,通过写SQL对数据进行操作,类似于mysql数据库中的sql。
Hbase:基于HDFS的NOSQL(not only SQL)数据库,面向列的存储
下面是hive与Hbase的比较 |
Hive |
Hbase |
1、可以理解为一种SQL执行引擎,对SQL的支持最终转换为map/reduce任务 2、不支持更新、删除操作,但可以插入 3、任务不是实时执行,用时一般为数分钟到数小时 4、本身可以不存储数据,只存储关于数据的元数据,偏重于逻辑结构,是一种数据仓库 5、适合于静态大数据量的查询、分析、汇总,不适合联机实时数据处理 6、操作一般以全表数据为基础,但也有分区等概念 |
1、不支持SQL 2、支持增删改查操作 3、任务实时执行 4、本身存储数据,有复杂的物理存储结构,是一种真正的数据库 5、适合联机实时数据处理 6、操作以列为基础 |
总结: hive和hbase都是以Hadoop为基础构建; Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,是用SQL替代写MR的编程框架,而HBase是为了支持弥补Hadoop对实时操作的缺陷的项目。 Hive是一种能执行MapReduce作业的类SQL编程接口,而Hbase是一种非关系型的数据库结构。 |
协作框架:
sqoop(桥梁:HDFS 《==》RDBMS)实现数据库的互导,也就是分布式文件系统与关系数据库之间的互导。
flume:收集日志文件中信息,一般是收集tomcat的日志信息。(现在大多数企业都在使用Tomcat)。
大数据的中数据来源:爬出关系数据库中。
下面介绍的是一些大数据中常用的一些框架:
调度框架anzkaban,了解:crontab(Linux自带)、zeus(Alibaba)、Oozie(cloudera)。
扩展前沿框架:kylin、impala(偏向于实时)、ElasticSearch(ES)。
第二方面:大数据实时分析
框架名称 |
类比 |
解释 |
以spark框架为主 |
|
|
Scala |
Scala:OOP + FP |
Oop(object oriented programming) |
sparkCore |
类比MapReduce |
|
sparkSQL |
类比hive |
|
sparkStreaming |
|
实时数据处理 |
kafka |
|
消息队列 |
前沿框架扩展:flink 阿里巴巴 blink |
第三方面:大数据机器学习(扩展)
spark MLlib:机器学习库
pyspark编程:Python和spark的结合,推荐系统
python数据分析
Python机器学习